import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { MaterialComponentsModule } from '../material/material-components.module';
import {AppRoutingModule} from "../routing/app-routing.module";
import {MyPaginationModule} from "../shared/my-pagination/my-pagination.module";
import {TransformModule} from "../shared/pipe/transform.module";
import {DirectiveModule} from "../shared/directive/directive.module";
import {LoginComponent} from "./login/login.component";
import {TipComponent} from "./dialog/tip/tip.component";
import {CityPickerComponent} from "./city-picker/city-picker.component";
import {CityPickerService} from "../shared/service/city-picker.service";
import {HeaderModule} from "../shared/header/header.module";
import {PlaintextComponent} from "./dialog/plaintext.component";
import { HomeComponent } from './home/home.component';
import {LoadingModule} from "../shared/loading/loading.module";
import {SearchBoxModule} from "../shared/search-box/search-box.module";
import {MenuDesktopComponent} from './menu/menu-desktop/menu-desktop.component';
import {MenuButtonComponent} from './menu/menu-button/menu-button.component';

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    ReactiveFormsModule,
    FormsModule,
    HttpModule,
    AppRoutingModule,
    MaterialComponentsModule,
    MyPaginationModule,
    TransformModule,
    DirectiveModule,
    HeaderModule,
    LoadingModule,
    SearchBoxModule
  ],
  entryComponents: [
    TipComponent,
    CityPickerComponent,
    PlaintextComponent,
    MenuDesktopComponent,
    MenuButtonComponent
  ],
  declarations: [
    LoginComponent,
    TipComponent,
    CityPickerComponent,
    PlaintextComponent,
    HomeComponent,
    MenuDesktopComponent,
    MenuButtonComponent
  ],
  providers: [
    CityPickerService
  ]
})
export class ModulesModule { }
